Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Demonstration of how
Application
typing can work with a library. This is a stricter approach, where users (who use strict typing) would need to inherit fromaiohttp_jinja2.AppState
.For example, a user application might look like this:
Breaking change
For typing to work correctly, we need to have hardcoded keys. This means deprecating the customisable
app_key
argument.I think this only exists to help with clashes in key names. I suspect almost nobody actually uses this and am fine removing it in a future release. I've also prefixed the private aiohttp-jinja2 names with
_
to further reduce the likelihood that it will conflict with someone's object.Plus, with better static typing, it's much easier for someone to tell if they used the same name. For example, this will give an error in mypy: